﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Web;

namespace RESTServices.Dominio
{
    /// <summary>
    /// Clase que define una excepción generada en la capa de acceso a datos
    /// </summary>
    [DataContract]
    public class DAOException
    {
        #region Campos

        /// <summary>
        /// Descripción del error
        /// </summary>
        private String descripcion;

        /// <summary>
        /// Fecha en la que se produció el error
        /// </summary>
        private DateTime fecha;

        #endregion

        #region Propiedades

        /// <summary>
        /// Descripción del error
        /// </summary>
        [DataMember]
        public String Descripcion
        {
            get { return descripcion; }
            set { descripcion = value; }
        }

        /// <summary>
        /// Fecha en la que se produció el error
        /// </summary>
        [DataMember]
        public DateTime Fecha
        {
            get { return fecha; }
            set { fecha = value; }
        }

        #endregion

        #region Constructor

        /// <summary>
        /// Crea una nueva instancia al objeto
        /// </summary>
        /// <param name="ex">Excepción capturada</param>
        public DAOException(Exception ex)
        {
            this.Descripcion = ex.Message;
            this.Fecha = DateTime.Now;
        }

        #endregion
    }
}
